Suite de Syracuse

Modifié par Juliedrappier

La suite de Syracuse d’un nombre entier `N > 0` est définie par récurrence de la façon suivante :
`u_0 = N` et pour tout entier naturel `n > 0` :

\(u_{n + 1} = \begin{cases} \dfrac{u_n}{2} \text{ si} \, u_n \text {est pair} \\3 u_n +1 \text{ si} \, u_n \text {est impair} \\ \end{cases}\)


Une conjecture (donc toujours non démontrée à l’heure actuelle) affirme que, pour tout entier \(N\) , il existe un indice \(n\) tel que \(u_n = 1\) .

Partie 1
On considère en langage Python la fonction syracuse(N,n) renvoyant le terme un avec u0 = N :


def syracuse(N,n):
u = N
for i in range(1, n+1): # pour i allant de 1 à n
if u%2==0: # u%2: reste de la division euclidienne de u par 2
u = u//2 # u//2: quotient de la division euclidienne de u par 2
else:
u = 3*u+1
return u


1. Saisir le programme précédent dans EduPython par exemple.
2. Exécuter la fonction afin d’obtenir les 5 premiers termes de la suite avec N = 1 et vérifier que les résultats fournis par le programme correspondent à ceux trouvés à la main.

Partie 2

Voici une fonction retournant la liste des n premiers termes de la suite de Syracuse :


def listesyracuse(N, n):
L = []
for i in range(n): # pour i allant de 0 à n-1
L = L+[syracuse(N, i)]
return L


Déterminer la liste des 30 premiers termes de la suite de Syracuse pour N allant de 1 à 15. Que remarquez-vous ? La conjecture est-elle vérifiée ?

Source : https://lesmanuelslibres.region-academique-idf.fr
Télécharger le manuel : https://forge.apps.education.fr/drane-ile-de-france/les-manuels-libres/mathematiques-premiere-specialite ou directement le fichier ZIP
Sous réserve des droits de propriété intellectuelle de tiers, les contenus de ce site sont proposés dans le cadre du droit Français sous licence CC BY-NC-SA 4.0